package org.nstack.kvm;

import org.nstack.header.errorcode.ErrorCode;
import org.nstack.header.vm.VmInstanceInventory;
import org.nstack.header.volume.VolumeInventory;


public interface KVMAttachVolumeExtensionPoint {
    void beforeAttachVolume(KVMHostInventory host, VmInstanceInventory vm, VolumeInventory volume, KVMAgentCommands.AttachDataVolumeCmd cmd);

    void afterAttachVolume(KVMHostInventory host, VmInstanceInventory vm, VolumeInventory volume, KVMAgentCommands.AttachDataVolumeCmd cmd);

    void attachVolumeFailed(KVMHostInventory host, VmInstanceInventory vm, VolumeInventory volume, KVMAgentCommands.AttachDataVolumeCmd cmd, ErrorCode err);
}
